package com.gtw.modules.api.service;

import com.baomidou.mybatisplus.plugins.Page;
import com.gtw.modules.entity.TbOrder;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * 订单接口
 * Created by wuye on 2018/2/1.
 */
public interface TbOrderService {

    TbOrder queryObject(Integer id);

    TbOrder queryById(Integer id);


    Page<TbOrder> queryPageList(Page<TbOrder> pageUtil, Map<String, Object> map);

    int save(TbOrder tbOrder);

    void update(TbOrder tbOrder);

    void deleteBatch(Integer[] id);

    /**
     * 根据订单号查询订单
     *
     * @param billno
     * @return
     */
    TbOrder queryBybillno(String billno);

    /**
     * 根据订单号查询订单
     *
     * @param billno
     * @return
     */
    TbOrder queryInfo(String uid, String billno, String orderstatus);

    List<TbOrder> queryByUid(String uid);

    TbOrder queryInfoByBargain(@Param("uid") String uid, @Param("commodityid") String commodityid, @Param("aid") String aid);

    /**
     * 查询头一天已完成的订单
     *
     * @return
     */
    List<TbOrder> foundByEnd();

    /**
     * 查询上一周已完成的订单
     *
     * @return
     */
    List<TbOrder> foundByEndWeek();

    /**
     * 根据代理人ID查询已完成订单
     *
     * @return
     */
    List<TbOrder> queryByPorxyid(Integer proxyid);

    /**
     * 查询这个时间之后的订单,且参与活动,未支付
     * @param startTime
     * @return
     */
    List<TbOrder> findActiveOrderByTime(Date startTime);
}
